<script setup>
let props = defineProps({
  control: Object,
  formProps: Object,
  enData: Object
})

function requiredChange(value) {
  props.control.rules[0].required = value;
}

function requiredMessageChange(value) {
  props.control.rules[0].message = value;
}
</script>

<template>
  <el-form label-width="90px">
    <el-form-item label="中文名称">
      <el-input v-model="control.props.label" placeholder="中文名称"></el-input>
    </el-form-item>
    <el-form-item label="英文名称">
      <el-select v-if="props.enData?.options?.length" v-model="control.props.enName" placeholder="请选择英文名称"
        style="width: 100%">
        <el-option v-for="(item, index) in props.enData.options" :key="index" :label="item[props.enData.label]"
          :value="item[props.enData.value]" />
      </el-select>
      <el-input v-else v-model="control.props.enName" placeholder="请输入英文名称"></el-input>
    </el-form-item>
    <el-form-item label="填写提示">
      <el-input v-model="control.props.placeholder" placeholder="请输入填写提示"></el-input>
    </el-form-item>
    <el-form-item label="默认值">
      <el-input-number v-model="control.props.defaultValue" placeholder="请输入默认值" />
    </el-form-item>
    <el-form-item label="宽度">
      <el-slider class="w-10/12" :min="0" :max="formProps.cols" show-stops v-model="control.props.width"></el-slider>
    </el-form-item>

    <el-form-item label="最小值">
      <el-input-number v-model="control.props.min" />
    </el-form-item>
    <el-form-item label="最大值">
      <el-input-number v-model="control.props.max" />
    </el-form-item>
    <el-form-item label="精度">
      <el-input-number v-model="control.props.precision" :min="0" />
    </el-form-item>

    <el-form-item label="使用控制器">
      <el-switch v-model="control.props.controls"></el-switch>
    </el-form-item>

    <el-form-item label="控制器位置" v-if="control.props.controls">
      <el-radio-group v-model="control.props.controlsPosition">
        <el-radio-button label>两边</el-radio-button>
        <el-radio-button label="right">右侧</el-radio-button>
      </el-radio-group>
    </el-form-item>

    <el-form-item label="步长" v-if="control.props.controls">
      <el-input-number v-model="control.props.step" />
    </el-form-item>
    <el-form-item label="严格步长" v-if="control.props.controls">
      <el-switch v-model="control.props.stepStrictly"></el-switch>
    </el-form-item>
    <el-form-item label="显示标题">
      <el-switch v-model="control.props.showLabel"></el-switch>
    </el-form-item>
    <el-form-item label="标题宽度">
      <el-input-number v-model="control.props.labelWidth" :min="0" />
    </el-form-item>
    <el-form-item label="描述信息">
      <el-input type="textarea" rows="5" v-model="control.props.remark" placeholder="请输入描述信息"></el-input>
    </el-form-item>
    <el-form-item label="是否必填">
      <el-switch @change="requiredChange" v-model="control.props.required"></el-switch>
    </el-form-item>
    <el-form-item label="必填提示" v-if="control.props.required">
      <el-input @change="requiredMessageChange" v-model="control.props.requiredMessage"></el-input>
    </el-form-item>
    <el-form-item label="是否禁用">
      <el-switch v-model="control.props.disabled"></el-switch>
    </el-form-item>
  </el-form>
</template>
